mongodb 3.4.x 入门笔记

安装

现在我选择这里 https://www.mongodb.com/download-center/enterprise/releases

linux 更简单快捷的方式 centos 或者 redhat

参考这里

创建repo文件 /etc/yum.repos.d/mongodb-enterprise.repo 直接用yum安装mongodb

1
2
3
4
5
6
[mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.4/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

最后执行 yum install -y mongodb-enterprise

简单配置

mongodb 默认的配置文件在 /etc/mongod.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /home/mongodb/mongo/log/mongod.log
# Where and how to store data.
dbpath=/home/mongodb/mongo/data/db
storage:
dbPath: /home/mongodb/mongo/data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
# network interfaces
net:
port: 27017
#bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
enabled: true
JSONPEnabled: true
RESTInterfaceEnabled: true
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:

比如要启动一个单节点的mongod实例
可以这样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dbpath=/home/mongodb/mongo/data/db/
logpath=/home/mongodb/mongo/data/log
maxConns=100
logRotate=rename
pidfilepath=/home/mongodb/mongo/data/mongo.pid
httpinterface=on
auth=true
rest=true
jsonp=true
noprealloc=true
smallfiles=true
directoryperdb=true
nounixsocket=true
port=27017
fork=true

然后 mongod -f mongod.conf
这事启动是带有认证的

需要正常使用则应该先了解 内置role介绍
mongo 127.0.0.1:27017/admin
db.createUser({user:’adminxxx’,pwd:’passwordxxx’,roles:[‘root’]});
db.auth(‘username’,’password’);
然后创建普通用户
需要

db.createUser({user:’zjexxxx’,pwd:’passwordxxx’,roles:[{role:’dbOwner’,db:’yourdbname’]});
db.auth(‘username’,’password’);
use yourdbname;
就可以操作数据库了

使用其他客户端 比如 mongoimport 导入csv我文件

1
2
3
4
mongoimport --authenticationDatabase admin -u 'username' -p 'password' -d
SH_stock -c 600000 --type=csv --fields='a1.string','a2.string','a3.double',
'a4.double','a5.double','a6.double','a7.int64',
'a8.double' --file=./SH#600000.csv

关于用户创建的一点提示

  • 首先 mongo 连接上去

    use admin
    db.auth(‘admin’,’password’); //管理员认证
    use db_zjex;
    db.createUser({user:’zjexxxx’,pwd:’passwordxxx’,roles:[{role:’dbOwner’,db:’db_zjex’]});
    这种方式创建的用户 连接时可以直接
    mongo ip:27017/db_zjex -u zjexxxx -p passwordxxx
    或者

    1
    mongo ip:27017/db_zjex -u zjexxxx -p passwordxxx --authenticationDatabase db_zjex
  • 如果是下面的方式创建用户
    首先 mongo 连接上去

    use admin
    db.auth(‘admin’,’password’); //管理员认证
    db.createUser({user:’zjexxxx’,pwd:’passwordxxx’,roles:[{role:’dbOwner’,db:’db_zjex’]});
    这种方式创建的用户 连接时可以直接

    1
    mongo ip:27017/db_zjex -u zjexxxx -p passwordxxx --authenticationDatabase admin
文章目录
  1. 1. 安装
    1. 1.1. linux 更简单快捷的方式 centos 或者 redhat
  2. 2. 简单配置
  3. 3. 关于用户创建的一点提示